package br.edu.granbery.indianostore.dao;

import br.edu.granbery.indianostore.dao.DaoFactory;
import br.edu.granbery.indianostore.model.Usuario;
import java.util.List;
import org.hibernate.Session;

/**
 *
 * @author Luiz
 */
public class UsuarioDao {

    private Session session;

    UsuarioDao(Session session) {
        this.session = session;
    }

    public List<Usuario> buscar() {
        return this.session.createCriteria(Usuario.class).list();
    }

    public Usuario buscar(int id) {
        return (Usuario) session.load(Usuario.class, id);
    }

    public boolean inserir(Usuario usuario) {
        try {
            this.session.save(usuario);
        } catch (Exception e) {
            return false;
        }
        return true;
    }

    public boolean atualizar(Usuario usuario) {
        try {
            this.session.merge(usuario);
        } catch (Exception e) {
            return false;
        }
        return true;
    }

    public boolean remover(Usuario usuario) {
        try {
            this.session.delete(usuario);
        } catch (Exception e) {
            return false;
        }
        return true;
    }

    public void destruir(Usuario usuario) {
        session.evict(usuario);
    }

    public void destruirList(List<Usuario> usuario) {
        session.evict(usuario);
    }
}
